Inductive Synthesis of Structurally Recursive Functional Programs from Non-recursive Expressions

نویسندگان

چکیده

We present a novel approach to synthesizing recursive functional programs from input-output examples. Synthesizing function is challenging because subexpressions should be constructed while the target has not been fully defined yet. address this challenge by using new technique we call block-based pruning. A block refers recursion- and conditional-free expression (i.e., straight-line code) that yields an output particular input. first synthesize as many blocks possible for each example, then explore space of programs, pruning candidates are inconsistent with blocks. Our method based on efficient version learning, thereby effectively dealing possibly enormous number In addition, uses sampled behaviors library functions enable goal-directed search program library. have implemented our in system called Trio evaluated it synthesis tasks prior work tasks. experiments show outperforms solution 98% benchmarks benchmark suite.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Inductive Synthesis of Recursive Programs – A Comparison of Three Systems

The paper we present compares the three systems for program synthesis, namely Adate, an approach through evolutionary computation, the inductive/abductive logic program synthesizer Dialogs-II and the classification learner Atre, capable of simultaneously learning mutually dependent, recursive target predicates. It gives an overview over the functionality of all three systems, and evaluates thei...

متن کامل

Inductive Synthesis of Recursive Logic Programs: Achievements and Prospects

The inductive synthesis of recursive logic programs from incomplete information, such as input/output examples, is a challenging subfield both of ILP (Inductive Logic Programming) and of the synthesis (in general) of logic programs from formal specifications. We first overview past and present achievements, focusing on the techniques that were designed specifically for the inductive synthesis o...

متن کامل

Recursive Expressions

\Recursive expressions" is an expression language that allows explicit substitution recur-sively. It lacks functional abstraction, function application and higher order functions, but is powerful enough to construct all partial recursive functions. It may be regarded as a lazy rst-order functional language without functions. We give xpoint semantics and rewrite semantics and prove equality betw...

متن کامل

Verification of Mutual Recursive Functional Programs

We present an environment for proving total correctness of mutual recursive functional programs. As usual, correctness is transformed into a set of first-order predicate logic formulae—verification conditions. As a distinctive feature of our method, these formulae are not only sufficient, but also necessary for the correctness. A specialized strategy for proving termination is developed. The de...

متن کامل

Positive Inductive-Recursive Definitions

A new theory of data types which allows for the definition of types as initial algebras of certain functors Fam(C) → Fam(C) is presented. This theory, which we call positive inductive-recursive definitions, is a generalisation of Dybjer and Setzer’s theory of inductive-recursive definitions within which C had to be discrete — our work can therefore be seen as lifting this restriction. This is a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2023

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3571263